Non-volatile memory systems, such as flash memory devices, have been widely adopted for use in consumer products. Flash memory devices may be found in different forms, for example in the form of a portable memory card that can be carried between host devices or as a solid state disk (SSD) embedded in a host device. When writing data to a conventional flash memory device, a host typically writes data to, and reads data from, addresses within a logical address space of the memory system.
The flash memory device includes an array of floating-gate memory cells. The memory cells may be operated to store more than two detectable levels of charge in each charge storage element or region, thereby to store more than one bit of data in each. This configuration is referred to as multi-level cell (MLC) memory. Alternatively, the memory cells may be operated to store two levels of charge so that a single bit of data is stored in each cell. This is typically referred to as a binary or single level cell (SLC) memory.
Both SLC and MLC types of memory cells may be used in a memory device, such that the memory device may include an SLC portion and an MLC portion. Ideally, the SLC portion and the MLC portion will wear out at the same time. However, at times, the SLC portion wears out at a different time than the MLC portion. To correct for this, cells within the MLC portion can be reallocated to be part of the SLC portion, which can compensate for the different wear out times of the SLC portion and the MLC portion. However, it may be difficult to reallocate cells within the SLC portion to be part of the MLC portion. In this way, it is difficult to balance the wear of the SLC portion and the MLC portion.